package com.thoughtorigin.flux {
public interface Flux {
    /**
     * This should take the name of a property and look up
     * the class name and return an instance of that object.
     *
     * Could be new or could be a single instance (Multiton)
     * The creation is decided by the class implementation
     * itself
     *
     * @param name
     * @return
     * @throws exception if no class if found
     */
    function getProperty(name: String): Object;

    /**
     * This will create a new instance regardless of
     * class implementation
     * 
     * @param name
     * @return
     * @throws exception if no class if found
     */
    function createNew(name: String): Object;

    /**
     * This will just return the class type.
     *
     * @param name
     * @return
     * @throws exception if no class if found
     */
    function getClass(name: String): Class;

}
}